package com.OHS;

import org.apache.ibatis.annotations.Param;
import pojo.Student;

import java.util.HashMap;
import java.util.List;


//在mybatis进行条件查询操作：
//1.如果操作方法只有一个 简单类型或者字符串的参数，在Mapper配置中能够直接通过#{key}直接获取
//2.如果操作方法有一个对象类型的参数，在Mapper配置中能够直接通过#{attrName}获取对象的指定属性值(attrName必须是参数对象的属性值)
//3.操作方法有一个Map类型的参数，在Mapper配置中可以直接通过#{key}获取key对应的value值
//4.如果操作方法有多个参数，该如何处理呢？
// public List<Student> listStudentsByPage(HashMap<String,Integer>map);
//HashMap<String,Integer> map = new HashMap<>();
//                    map.put("start",0);
//                    map.put("pageSize",10);
//        List<Student> list = studentDAO.listStudentsByPage(map);
//                    for(Student student : list){
//        System.out.println(student);
//                    }

//如果有多个的话，就取：
// <select id="listStudentsByPage" resultMap="wahaha">
//        select id ,name ,worknumber ,age ,gender ,entrydate,idcard
//        from user
//        limit #{arg0} ,#{arg1}
//    </select>
//或者#{param1} 和#{param2}
public interface StudentDAO {
    //添加数据
    public int insertStudent(Student student);
    //删除数据
    public  int deleteStudent(int id);
    //更新数据
    public  int updateStudent(Student student);
    //查询所有
    public List<Student> listStudents();
    //条件筛选查询
    public Student idStudent(int id);

    public List<Student> listStudentsByGender(String gender);
    //分页查询
//    public List<Student> listStudentsByPage(@Param("start") int start ,
//                                            @Param("pageSize") int pageSize);
//    //查询总记录数
//    public int getCount();
//    //添加操作主键回填

}
